// import CryptoJS from "crypto-js";
const CryptoJS = require("./crypto-js");
//密钥，需为长度为 16 的字符串
const key = CryptoJS.enc.Utf8.parse("aes_key_business");
//向量
const iv = CryptoJS.enc.Utf8.parse('1234567898888888');
/**
 * aec加密方法
 * @param data
 * @returns {string}
 */
export function encrypt(data) {
  data = typeof (data) == 'object' ? JSON.stringify(data) : data;
  let srcs = CryptoJS.enc.Utf8.parse(data);
  let encrypted = CryptoJS.AES.encrypt(srcs, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
  console.log(encrypted.ciphertext);
  return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}
/**
 * BASE64 加密
 * @param {String} data 需要处理的数据
 */
export const base64Encrpty = ((data) => {
  if (util.isEmpty(data)) {
    return '';
  }
  let dataArray = CryptoJS.enc.Utf8.parse(data);
  return CryptoJS.enc.Base64.stringify(dataArray);
})
/**
 * BASE64 解密
 * @param {String} data 需要解密的数据 
 */
export const base64Decrypt = ((data) => {
  if (util.isEmpty(data)) {
    return '';
  }
  let parsedDataArray = CryptoJS.enc.Base64.parse(data);
  return parsedDataArray.toString(CryptoJS.enc.Utf8);

})
export const tpyeofon = {
  /**
   * 检查对象是否为空
   * @param {Object} obj 对象是否为空
   */
  isNull(obj) {
    return obj == null || obj == undefined || obj == 'undefined';
  },

  /**
   * 检查字符串是否为空
   * @param {String} str 字符串 
   */
  isEmpty(str) {
    return this.isNull(str) || str.length === 0;
  },
}